package com.zhongwang.mms.module.buy.model;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.NumberFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhongwang.mms.base.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;
import java.util.List;

/**
 * @Description: 采购计划错误信息Model
 * @Author: 徐一贺
 * @Date: 2020年7月25日09:08:45
 */
@SuppressWarnings("ALL")
@Data
@EqualsAndHashCode(callSuper = true)
public class ShoppingPlanImportErrorModel extends BaseModel {
    /** 提报计划ID */
    @ExcelProperty(value = "提报计划ID",index = 0)
    @NumberFormat("#")
    private Integer rppId;

    /** 提报计划项目编号 */
    @ExcelProperty(value = "提报计划项目编号",index = 1)
    @NumberFormat("#")
    private String rppProjectCode;

    /** 提报计划项目名称 */
    @ExcelProperty(value = "提报计划项目名称",index = 2)
    @NumberFormat("#")
    private String rppProjectName;

    /** 提报计划联系人 */
    @ExcelProperty(value = "提报计划联系人",index = 3)
    @NumberFormat("#")
    private String rppDesigner;

    /** 提报计划物料描述 */
    @ExcelProperty(value = "提报计划物料描述",index = 4)
    @NumberFormat("#")
    private String rppMatDesc;

    /** 提报计划数量 */
    @ExcelProperty(value = "提报计划数量",index = 5)
//    @NumberFormat("#.##")
    private Double rppNum;

    /** 提报计划单位 */
    @ExcelProperty(value = "提报计划单位",index = 6)
    @NumberFormat("#")
    private String rppUnit;

    /** 提报计划标准号 */
    @ExcelProperty(value = "提报计划标准号",index = 7)
    @NumberFormat("#")
    private String rppStandardNo;

    /** 品牌 */
    @ExcelProperty(value = "提报计划品牌",index = 8)
    private String rppBrand;

    /** 备注 */
    @ExcelProperty(value = "提报计划备注",index = 9)
    private String rppRemark;

    /** 创建时间 */
    @ExcelProperty(value = "提报日期",index = 10)
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date rppCreateTime;

    /** sap物料编码 */
    @ExcelProperty(value = "sap物料编码",index = 11)
    @NumberFormat("#")
    private String sppSapCode;

    /** 采购计划物料描述 */
    @ExcelProperty(value = "采购计划物料描述",index = 12)
    @NumberFormat("#")
    private String sppMatDesc;

    /** 数量， 数量提报计划数量之和，如果没有提报计划为0 */
    @NumberFormat("#.##")
    @ExcelProperty(value = "采购数量",index = 13)
    private Double sppNum;

    /** 品牌 */
    @ExcelProperty(value = "品牌",index = 14)
    @NumberFormat("#")
    private String sppBrand;

    /** 交货周期 */
    @ExcelProperty(value = "交货周期",index = 15)
    @NumberFormat("#")
    private Integer sppPayCycle;

    /** 仓库 */
    @ExcelProperty(value = "仓库名称",index = 16)
    @NumberFormat("#")
    private String whiName;

    /** 采购业务员 */
    @ExcelProperty(value = "业务员",index = 17)
    @NumberFormat("#")
    private String sppBuyer;

    /** 项目名称 */
    @ExcelProperty(value = "备注计划用途",index = 18)
    @NumberFormat("#")
    private String sppProjectName;

    /** 备注 */
    @ExcelProperty(value = "备注",index = 19)
    @NumberFormat("#")
    private String sppRemark;

    /** 合报标识 */
    @ExcelProperty(value = "合报标识",index = 20)
    private String sppMergeFlag;

    /** 合报标识 */
    @ExcelProperty(value = "合报ID",index = 21)
    @NumberFormat("#")
    private String sppMergeId;

    /** 错误信息 */
    @ExcelProperty(value = "错误信息",index = 22)
    private String sppErrorInfo;

    public ShoppingPlanImportErrorModel(Integer rppId, String rppProjectCode, String rppProjectName, String rppDesigner, String rppMatDesc, Double rppNum, String rppUnit, String rppStandardNo, String rppBrand, String rppRemark, Date rppCreateTime, String sppSapCode, String sppMatDesc, Double sppNum, String sppBrand, Integer sppPayCycle, String whiName, String sppBuyer, String sppProjectName, String sppRemark, String sppMergeFlag, String sppMergeId, String sppErrorInfo) {
        this.rppId = rppId;
        this.rppProjectCode = rppProjectCode;
        this.rppProjectName = rppProjectName;
        this.rppDesigner = rppDesigner;
        this.rppMatDesc = rppMatDesc;
        this.rppNum = rppNum;
        this.rppUnit = rppUnit;
        this.rppStandardNo = rppStandardNo;
        this.rppBrand = rppBrand;
        this.rppRemark = rppRemark;
        this.rppCreateTime = rppCreateTime;
        this.sppSapCode = sppSapCode;
        this.sppMatDesc = sppMatDesc;
        this.sppNum = sppNum;
        this.sppBrand = sppBrand;
        this.sppPayCycle = sppPayCycle;
        this.whiName = whiName;
        this.sppBuyer = sppBuyer;
        this.sppProjectName = sppProjectName;
        this.sppRemark = sppRemark;
        this.sppMergeFlag = sppMergeFlag;
        this.sppMergeId = sppMergeId;
        this.sppErrorInfo = sppErrorInfo;
    }
}
